iT邦幫忙

2023 iThome 鐵人賽

DAY 3
1

根據官方文件Quickstart 安裝好 dbt 之後,我們要怎麼使用呢?

首先要介紹 dbt 核心功能指令

dbt run

dbt run dbt 就是最核心的指令,用於執行 dbt 專案中的 model,並根據設定 view 或 table,執行你的 model 中的 SQL 查詢,更新資料庫的 view 或 table ,這是執行 data transformation 過程的最關鍵步驟

dbt test

dbt test 指令用於執行數據測試,確保你的 model 和查詢生成的結果是正確的。你可以定義各種數據測試,從最基本內建的 unique, not null 測試,到是否更新、數值是否異常、也可自己定義測試語法,使用 dbt test 以驗證數據品質和一致性,後篇有更詳盡的介紹

dbt compile

dbt compile 指令用於編譯 dbt 專案。它檢查 model 定義中的語法錯誤並生成相應的 SQL 代碼,以便後續的運行和建立步驟 →適合用在 CI 流程前半段先偵測語法,若有語法錯誤先抓出來,若 CI 先跑 dbt run ,雖然知道錯誤但會用到資料庫資源

dbt build

dbt build 指令用於建立完整 dbt 指令,他會依照你的 model 順序執行 dbt seed (匯入 csv 檔),dbt run,dbt snapshot(存檔快照),dbt test

  • dbt run vs dbt build

dbt build 適合在平常正式環境執行,因為 dbt build 會先檢查你的 source 設定的 test ,後續才執行 dbt run 更新資料庫,也就是下游資料表 dbt run 之前上游表都會經過檢查,若有問題可以中斷不執行或發出警示,如此確保上下游資料品質一致。而 dbt run 不會管資料品質,單純更新資料表,因此定期在正式環境跑 dbt 資料更新,使用 dbt build是建議的作法


上一篇
dbt Cloud & dbt Core 怎麼選擇?
下一篇
dbt_project.yml 介紹及寫法
系列文
如何借助 dbt 優化當代資料倉儲及資料工程師的水肥之路分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言